from django.contrib import admin
from app01.models import Article

# Register your models here.

# 显示作者，但实际并没有这个字段，需要自定义函数实现


def get_author(obj):
    # obj传入的对象，这里指的是 Article，user就是models里的user字段，从而获取到User表里的 username字段，返回对应的用户名（作者）
    return obj.user.username


class ArticleAdmin(admin.ModelAdmin):
    # 显示在管理后台，把想要显示的字段加上即可（配置展示列表）
    list_display = ('id', get_author, 'title', 'content')

    # 配置过滤字段（配置后右边显示过滤器）
    list_filter = ('title', 'id')

    # 配置搜索信息（配置后会显示搜索框） 注：如果只剩一个，需要在后面保留一个英文逗号，表示元组
    search_fields = ('title',)

    # 配置超链接（点击即可跳转页面）
    list_display_links = ('id', 'title', 'content')

    # 只读属性（id一般不允许被修改）
    readonly_fields = ('id',)

    # 可以修改（直接修改字段的值）注：不可与 list_display_links 一起共用，只能使用一个，这个一般少用
    # list_editable = ('title', 'content')


# short_description 表示 缩写，表示把原 GET AUTHOR 改为 作者 进行显示，用于修改展示列表字段
get_author.short_description = '作者'


admin.site.register(Article, ArticleAdmin)
